$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Редослед послова

време меморија улаз излаз
2,35 s 64 Mb стандардни излаз стандардни улаз

Да би се изградио аутомобил, потребно је урадити низ послова. Неки послови зависе од других (на пример, пре него што се уграде точкови, потребно је да се уграде осовине). Напиши програм који одређује могући редослед изврашавања ових послова у коме су сва ограничења задовољена.

Улаз

Са стандардног улаза се учитава број \(n\) (\(1 \leq n \leq 50000\)), затим број \(m\) (\(1 \leq m \leq 10n\)) и након тога \(m\) парова бројева \(x_i\), \(y_i\) (\(0 \leq x_i, y_i < n\)), раздвојених размаком, који означавају да је посао \(y_i\) неопходно урадити пре посла \(x_i\).

Излаз

На стандардни излаз исписати \(n\) бројева послова у неком редоследу у ком их је могуће извршити (такав редослед ће гарантовано бити могуће направити). Сваки број исписати у посебном реду.

Пример

Улаз

6 6 3 1 3 2 4 2 4 5 1 0 0 5

Излаз

2 5 0 1 3 4

Морате бити улоговани како бисте послали задатак на евалуацију.